The present invention relates to protocol analysis, and more particularly to a non-invasive estimation of round trip time in a packet-oriented acknowledge-based transmission system using a probe at any point in the system to monitor the signals transmitted between a sender and a receiver.
Currently TCP/IP (Transmission Control Protocol/internet Protocol) is used extensively in Intranet and Internet networks. With new wireless networks, especially the 2.5G and 3G generations, TCP/IP will be the protocol most used worldwide in telecommunications environments. Also TCP/IP should substitute for other protocols that are currently largely used in telecommunications infrastructures. However this large usage of TCP/IP requires the introduction of new measurement processes to characterize the behavior of this protocol and the quality of service (QoS) offered by applications using it. Some characteristics of this protocol should have an impact on the different applications using TCP/IP. A very important parameter is “round trip time” (RTT) that gives a measure of the delay perceived by a user or application sending a packet and receiving a response for it. This parameter is influenced by problems such as queuing delays in the network, erroneous dimensioning or configuration on the part of the network, bottlenecking, etc.
TCP/IP is a protocol that allows reliable data transfer between two terminal hosts. In order to provide reliability, packets that correctly reach the receiver are acknowledged and the sender is informed of the correct delivery. The time that elapses between the sending of the packet and the response provided by the acknowledgment is the RTT. Typically RTT is a measure of “how far” the receiver is from the sender, and gives good information regarding network behavior and quality perceived by users. It is clear that the evaluation of RTT could be performed easily at a sender side, but this point of measure is normally outside the scope of a network operator.
FIG. 1 (upper part) shows a graphic illustrating what is meant by RTT. As shown TCP/IP packets 14 travel from the sender 10 to the receiver 12 and the related acknowledgments 16 follow the inverse path.
To provide better throughput TCP/IP uses a sliding-window transmission algorithm. The sender periodically evaluates a value called congestion window (cwnd). This parameter represents the number of packets transmitted and not already acknowledged. Its value is limited to an advertised window (advwnd) which represents the maximum buffer size used by the receiver.
GPRS (General Packet Radio Service) networks, as a mobile example of a TCP/IP network, are more sensitive to RTT than current Internet networks. This is due to the impact of the radio path on the total TCP/IP path and on the inter-working of the IP environment with the telecommunications switch environment. FIG. 2 shows a typical structure of a GPRS network. A SGSN (Switched General Signal Network) may be defined as the front end between IP protocols and traditional telecommunications protocols, even if TCP/IP is used in a transparent way from the sender (Internet server) to the receiver (GPRS mobile).
GPRS networks provide new access to services over the IP suite. In order to evaluate the quality perceived by users, mobile operators perform a continuous monitoring of the involved devices and lines. Moreover users may access different services not necessarily related to the mobile operator itself. For these reasons SLAs (Service Level Agreements) are stipulated between different network owners, and a continuous monitoring of network behavior ensures the respect of such agreements. Therefore a mobile operator has to be able to perform RTT measures and to separate delays due to its network and to external ones.
If it is possible to monitor TCP traffic at the sender side, RTT evaluation is a simple task. In this case RTT is estimated by calculating the time elapsed between sending a packet and receiving the corresponding acknowledgment. Usually TCP senders evaluate RTT using this simple technique in order to compute the Retransmission Time Out (RTO—see Request for Comments RFC723 p. 41). This technique has some advantages: it is easy to implement and a non-invasive implementation may be realized at the sender side. Its disadvantages are that it can only be applied at the sender side and measurements cannot be performed in the presence of high rates of packet loss. An invasive technique, such as “ping”, uses the same technique. This latter solution is well known and widely used in the Internet and other IP networks. In any event it cannot be implemented in order to evaluate network response times perceived by single users. This is due to the fact that packets used by “ping” are typically smaller than the ones used in data transfers. Moreover “ping” does not use TCP, but ICMP (Internet Control Message Protocol).
To perform an RTT evaluation at an intermediate point, another known technique is based on TCP SYN and SYN acknowledgment measurement. This technique evaluates the time delay between particular TCP messages occurring only in certain cases in a TCP connection to setup the connection itself. This solution has the advantage of simplicity as it can perform a single RTT evaluation in a non-invasive manner at any intermediate point. However it cannot perform a continuous monitoring of network performance—it is not possible to track RTT variation during a particular connection. The single evaluation is performed monitoring packets smaller than the ones involved during data transfer and the sender delay is included in the RTT estimation.
What is desired is a method that allows continuous monitoring of network performance and tracking of RTT variation, especially during a particular connection.